Skip to content

feat(server-nestjs): backfill Sécurité project role on existing projects - #2700

Open
shikanime wants to merge 1 commit into
mainfrom
security-role-migration
Open

feat(server-nestjs): backfill Sécurité project role on existing projects#2700
shikanime wants to merge 1 commit into
mainfrom
security-role-migration

Conversation

@shikanime

Copy link
Copy Markdown
Member

Issues liées

Issues numéro:

#2676


Quel est le comportement actuel ?

Le rôle « Sécurité » n'est créé que pour les nouveaux projets lors de leur création : les projets existants n'en disposent pas.

Quel est le nouveau comportement ?

Ajout d'une migration insérant le rôle « Sécurité » (type system:managed, position 4, permissions 832 = SEE_SECRETS | LIST_ENVIRONMENTS | LIST_REPOSITORIES, groupe OIDC /<slug>/console/security) pour chaque projet qui ne l'a pas encore, en miroir du seeding TS de generateProjectCreateInput.
L'insertion est idempotente (anti-jointure sur slug + oidcGroup + position) : les rôles personnalisés existants en position 4 sont préservés, aucune ligne dupliquée.

Cette PR introduit-elle un breaking change ?

Non.

Autres informations

Migration validée sur PostgreSQL 16 : backfill d'un projet sans rôles, préservation d'un rôle personnalisé en position 4, absence de doublon quand le rôle existe déjà, ré-exécution sans effet.

The Sécurité role is only seeded for newly created projects (see #2677):
projects created before the role existed never get it.
Add a migration inserting the missing 'Sécurité' system:managed role
(position 4, permissions 832 = SEE_SECRETS | LIST_ENVIRONMENTS |
LIST_REPOSITORIES, oidcGroup '/<slug>/console/security') for every project
that does not have it yet, mirroring generateProjectCreateInput.
The insert is idempotent (anti-join on slug+oidcGroup+position) so existing
custom roles at position 4 are left untouched and retries never duplicate.
Refs #2676

Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr>
Change-Id: I397eac570291a5959dfdca423da721506a6a6964
@github-actions github-actions Bot added the built label Sep 8, 2026
@shikanime shikanime self-assigned this Sep 8, 2026
@shikanime
shikanime marked this pull request as ready for review September 8, 2026 16:10
@shikanime
shikanime requested a review from a team as a code owner September 8, 2026 16:10
@shikanime shikanime added this to the 9.26.0 milestone Sep 8, 2026
@shikanime
shikanime enabled auto-merge September 8, 2026 16:10
@cloud-pi-native-sonarqube

Copy link
Copy Markdown

@shikanime
shikanime added this pull request to the merge queue Sep 9, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants